This invention relates to telecommunication systems in general, and in particular, to the capability of doing call classification.
Call classification is the ability of a telecommunication system to determine how a telephone call has been terminated at a called end point. An example of a termination signal that is received back for call classification purposes is a busy signal that is transmitted to the calling party upon the called party being engaged in a telephone call. Another example is a intercept tone that is transmitted to the calling party by the telecommunication switching system if the calling party has made a mistake in dialing the called party. Another example of a tone that has been used within the telecommunication network to indicate that a voice message will be played to the calling party is a special information tone (SIT) that is transmitted to the calling party before a recorded voice message is sent to the calling party.
Call classification is used in conjunction with different types of services. For example, outbound-call-management, coverage of calls redirected off the net (CCRON), and call detail recording are services that require accurate call classification. Outbound-call management is concerned with when to add an agent to a call that has automatically been placed by an automatic call distribution center (also referred to as a telemarketing center) using predictive dialing. Predictive dialing is a method by which the automatic call distribution center automatically places a call to a telephone before an agent is assigned to handle that call. The accurate determination if a person has answered a telephone versus an answering machine or some other mechanism is important because the primary cost in an automatic call distribution center is the cost of the agents. Call detail recording is concerned with the accurate determination of whether a call has been completed to a person. This is important in many industries. An example of such an industry is the hotel/motel particularly where the hotel/motel applications are utilizing analog trunks to the switching network that do not provide answer supervision. It is necessary to accurately determine whether or not the call was completed to a person or a network message so as to accurately bill the user of the service within the hotel. Call detailed recording is also concerned with the determination of different statuses of call termination such as hold status (e.g. music on hold), fax and/or modem tone. An example of CCRON is its utilization by an in-call coverage feature on an enterprise switching system where the feature transfers an incoming call destined for a user""s desk telephone to the user""s cellular telephone.
As can be seen from the following, the accurate and rapid detection of tones is important to outbound-call-management, CCRON, and call detailed recording services. Prior art tone detection solutions have relied on the detection of only frequencies for tones such as facsimile tones, modem tones, touch tone dialing (DTMF), etc. and the use of cadence detection for tones such as busy tone, fast busy, etc. The detection of cadences has been done by detecting sequences of energy and silent periods. Many tones such as busy tones have a sequence of energy and silence periods. For tones such as busy tones, this sequence of energy and silence periods may vary by country. Unfortunately, prior art techniques of cadence detection has required that there be an equal number of energy and silence periods in number, and these periods must alternate. Further, the cadence must end in a silence period. Further, other tones such as SIT and modem/fax tones can not be recognized using the cadence technique. Rather, a separate frequency detector must be utilized to recognize these tones.
This invention is directed to solving these and other problems and disadvantages of the prior art. According to an embodiment of the invention, an apparatus and method perform tone detection by (1) creating a search engine for every period of all possible tones, (2) applying the search engines on one period of the unknown tone, (3) eliminating the search engines that did not match the period of the unknown tone, (4) reapplying the remaining search engines, and (5) repeating (3) and (4) until the unknown tone can be identified as one of the possible tones based on the remaining search engines.